import java.util.Random;

/**
 * 我们返回一个string类型，每一为都通过random来产生
 * 这种通过random来产生字母的方式 主要是利用了 char对应的ASCII码表
 */

public class GenerateVerificationCode2 {
    public static void main(String[] args) {
        String code = code(3);
        System.out.println("验证码:" + code);
    }

    public static String code(int number) {
        String verify = "";
        Random random = new Random();
        // 通过type来记录每一位是 0.大写英语 1.小写英语 2.数字
        for (int i = 0; i < number; i++) {
            int type = random.nextInt(3);
            switch (type) {
                case 0:
                    //大写字母 A-Z (65-90)
                    char ch = (char) (random.nextInt(26) + 65);
                    verify = verify + ch;
                    break;
                case 1:
                    //小写字母 a-z (97-122)
                    char ch1 = (char) (random.nextInt(26) + 97);
                    verify = verify + ch1;
                    break;
                case 2:
                    //数字 (0-9)
                    int ch3 = random.nextInt(10);
                    verify = verify + ch3;
                    break;
            }
        }
        return verify;
    }
}
